[보기] ㄱ. 경로(Path) ㄴ. 결정(Decision) ㄷ. 조건/결정(Condition/Decision) ㄹ. 변경 조건/결정(Modified Condition/Decision, MC/DC) ㅁ. 다중 조건(Multiple Condition) ㅂ. 문장(Statement) ㅅ. 분기(Branch) ㅇ. 조건(Condition) ㅈ. 루프(Loop)
[보기] ls, cd, cp, pwd
(①) 코드는 전송 데이터에 여러 개의 검사 비트를 추가하여 오류를 검출하고 수정까지 가능한 방법이다. 이 코드는 재전송 없이 수신 측에서 자체 수정하는 (②) 방식에 속한다. 이에 반해 오류 발생 시 송신 측에 재전송을 요구하는 방식은 (③)이라 하며, 여기에 포함되는 대표적 검출 기법으로 (④) 검사와 (⑤) 검사가 있다. (④) 검사는 데이터 블록 끝에 1비트 검사 비트를 추가하여 오류를 검출한다. (⑤) 검사는 송신측과 수신측이 동일한 특정 다항식을 사용하여 오류를 검출한다.
#include
int main(void) {
char str[] = "REPUBLICOFKOREA";
int a = 0;
while (str[a] != ' ')
++a;
putchar(str[a - 2]);
return 0;
}
#include
struct Node {
struct Node* next;
unsigned int x;
};
int main() {
struct Node t1 = { 0, 5u };
struct Node t2 = { 0, 7u };
struct Node t3 = { 0, 11u };
t3.next = &t2;
t2.next = &t1;
struct Node* curr = &t3;
int sum = 0;
while (curr) {
sum = sum * 3 + curr->x;
curr = curr->next;
}
sum = (sum ^ 42u) + 100u;
printf("%un", sum);
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
interface Machine {
void run();
}
class WashingMachine (____빈칸____) Machine {
private String name;
public WashingMachine() {
this.name = "LG Washer";
}
public void run() {
System.out.println("Washing machine running");
}
}
public class Main {
public static void main(String[] args) {
WashingMachine wm = new WashingMachine();
wm.run();
}
}
data = [
[3, 5, 2, 4, 1],
[4, 5, 1],
[4, 4, 1, 5, 4],
[4, 5]
]
result = {}
for index, lis in enumerate(data):
list_sum = sum(lis)
list_len = len(lis)
result[index] = (list_sum, list_len)
print(result)
한 번 사용하면 즉시 폐기되어 재사용이 불가능하다. 서버와 토큰(또는 앱)은 시간 동기화나 카운터 기반 방식으로 매번 새로운 값을 생성하고, 내부 검증은 해시 함수를 이용한 방식으로 서버에 평문을 저장하지 않고도 유효성을 확인할 수 있다. 이 특성 때문에 은행 인증 등 고보안 영역에서 널리 사용되며 재전송 공격 방지와 사용자 편의성을 동시에 만족한다.
class Rectangle {
int width, height;
Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
}
class Square extends Rectangle {
Square(int a) {
____(a,a);
}
int getSquareArea() {
return width * height;
}
}
public class Main {
public static void main(String[] args) {
Square sq = new Square(10);
System.out.println(sq.getSquareArea());
}
}
사용자가 새로운 사이트에 가입하지 않고 평소에 이용하던 서비스의 계정으로 로그인할 수 있게 해주는 기술이다. 사용자의 비밀번호는 절대 전달되지 않으며 사용자가 승인한 범위에 대해서만 접근 권한이 위임된다. 이 방식은 직접 인증(Authentication)을 수행하지 않고 "인가(Authorization)" 절차를 통해 접근 권한을 제3자에게 부여한다. 인증 완료 후, 서비스 제공자는 Access Token을 발급하며 애플리케이션은 이 토큰을 이용해 API를 호출하여 필요한 정보에 접근한다. 대표적인 예는 소셜 로그인이며 SSO(Single Sign-On)과 달리 동일 시스템 내 인증이 아니라 서로 다른 서비스 간의 권한 위임에 초점이 맞춰져 있다.
R 테이블 S 테이블 A B B a1 b1 b1 a2 b2 b3 a1 b3
#include
int main() {
int x=7, y=4, z;
z = y%3> 1;
z = x>5 && z
ㄱ. 테이블에서 한 행(Row)을 의미하며, 하나의 레코드를 구성하는 요소 ㄴ. 실제 데이터가 저장되어 있는 테이블의 내용 전체를 의미하며, 데이터의 상태를 나타낸다. ㄷ. 테이블에 저장된 행(Row)의 총 개수를 의미한다.
enum Tri {
A("A"), B("AB"), C("ABC");
private String code;
Tri(String code) {
this.code = code;
}
public String code() {
return code;
}
}
public class Main {
public static void main(String[] args) {
Tri t = Tri.values()[Tri.A.name().length()];
System.out.print(t.code());
}
}
DAC MAC RBAC
[보기] ㄱ. 테스트 조건 ㄴ. 테스트 환경 ㄷ. 테스트 유형 ㄹ. 테스트 데이터 ㅁ. 예상 결과 ㅂ. 수행 단계 ㅅ. 성공/실패 기준